package com.caiheng.api.entity.asset;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 资产管理对象 estate_asset
 *
 * @author ruoyi
 * @date 2025-01-20
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("estate_asset")
public class EstateAsset implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     *  所属物业id
     */
    private Integer propertyId;

    /**
     * 所属小区
     */
    private Integer estateId;

    /**
     * 资产名称
     */
    private String assetName;

    /**
     * 资产类型 0-固定资产 1-移动资产
     */
    private Integer assetType;

    /**
     * 负责人
     */
    private String adminNickName;

    /**
     *  资产位置
     */
    private String assetPosition;

    /**
     * 折旧时间
     */
    private Date depreciationTime;

    /**
     * 采购时间
     */
    private Date procureTime;

    /**
     * 购置金额
     */
    private BigDecimal procureMoney;

    /**
     * 资产状态 0-正常 1-维修 2-报废 3-借出
     */
    private Integer state;

    /**
     * 设备类型 0-办公用品 1-消防安防设备 2-交通运输设备 3-大型工具设备
     */
    private Integer deviceType;

    /**
     * 设备编码
     */
    private String deviceNum;

    /**
     * 周期类型：day - 每天  week - 每周  month - 每月  season - 每季度  half-year - 每半年  year - 每年
     */
    private String cycleType;

    /**
     * 选中的周期类型的 日期，多个逗号分隔
     */
    private String cycleDays;

    /**
     * 资产的盘点状态  0-正常 1-维修 2-报废
     */
    private Integer lastCheckState;

    /**
     * 最后一次的判断时间
     */
    private Date lastCheckTime;

    /**
     * 备注
     */
    private String remake;

    @TableField(exist = false)
    private String estateName;

    @TableField(exist = false)
    private String propertyName;

    @TableField(exist = false)
    private Integer checkCount;

    @TableField(exist = false)
    private EstateAssetBorrowRecord borrowRecord;


}
